﻿using PLC.Interface.BaseUserPermissions;
using System.Collections.Generic;
using System.Threading.Tasks;
using YWM.Application;
using YWM.Dto;

namespace PLC.Interface.BaseUsers
{
    public interface IBaseUserAppService : IAppService
    {
        Task<PagedResultDto<BaseUserResultDto>> GetAll(BaseUserResultRequestDto input);

        Task<IReadOnlyList<BaseUserPermissionDto>> GetPermissions(string account);

        Task<BaseUserResultDto> Save(BaseUserDto input, List<BaseUserPermissionDto> permissions);

        Task Delete(BaseUserDto input);

        Task ChangePassword(UserPasswordDto input);
    }
}
